Add GitHub Agentic Workflow for automated issue triage#162
Add GitHub Agentic Workflow for automated issue triage#162
Conversation
Co-authored-by: RichardChen820 <99175581+RichardChen820@users.noreply.github.com>
There was a problem hiding this comment.
Pull request overview
This pull request introduces GitHub Copilot-powered agentic workflow automation for triaging new issues in the Azure App Configuration Kubernetes Provider repository. The workflow leverages the gh-aw framework (v0.50.4) to automatically classify, prioritize, detect duplicates, request clarifications, and assign incoming issues based on intelligent analysis.
Changes:
- Adds
.github/workflows/issue-triage.mddefining the workflow configuration and agent instructions - Adds
.github/workflows/issue-triage.lock.ymlas the compiled GitHub Actions workflow (auto-generated, not to be edited manually) - Updates
.gitattributesto mark*.lock.ymlfiles as generated withmerge=oursstrategy
Reviewed changes
Copilot reviewed 3 out of 3 changed files in this pull request and generated no comments.
| File | Description |
|---|---|
.github/workflows/issue-triage.md |
Defines workflow triggers, permissions, safe-outputs configuration, and comprehensive agent instructions for issue triage (classification, priority assignment, duplicate detection, clarification requests, team assignment) |
.github/workflows/issue-triage.lock.yml |
Auto-generated GitHub Actions workflow compiled from the .md file by gh-aw v0.50.4; implements multi-job architecture with activation, agent execution, threat detection, and safe-outputs processing |
.gitattributes |
Configures Git to treat *.lock.yml files as linguist-generated with merge=ours strategy to prevent merge conflicts on regenerated files |
Comments suppressed due to low confidence (2)
.github/workflows/issue-triage.md:12
- The
roles: allconfiguration appears to be at the wrong indentation level in the YAML frontmatter. It should be nested under theon:section, not at the root level. While the gh-aw compiler seems to handle this by commenting it out in the generated lock.yml file (line 34), this creates inconsistent YAML structure in the source file.
The correct structure should be:
on:
issues:
types: [opened, reopened]
workflow_dispatch:
inputs:
issue-number:
description: Issue number to triage
required: true
type: number
roles: allOr if roles is a top-level gh-aw configuration (not standard GitHub Actions syntax), verify this is the intended format according to gh-aw documentation.
roles: all
.github/workflows/issue-triage.md:106
- The workflow instructions reference a CODEOWNERS file at line 105, but no such file exists in the repository (verified by searching the codebase). The agent will be unable to use this as a source for determining issue assignments. Consider either creating a CODEOWNERS file or removing this reference from the instructions to avoid confusion when the agent attempts to follow these guidelines.
- The `CODEOWNERS` file if present
- Existing assignees on similar past issues
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Adds a
gh-aw-based agentic workflow that automatically triages new issues using GitHub Copilot as the AI engine.Workflow behavior (
issue-triage.md)Triggers on
issues.opened/issues.reopened(plus manualworkflow_dispatch) withroles: allso external contributors' issues are processed.The agent performs five tasks per issue:
bug,enhancement,question,documentation,invalidpriority/critical→priority/lowbased on impact/urgencyduplicateand references the original in a commentSecurity posture
contents/issues/pull-requests: readonly; all writes go through safe-outputslockdown: falserequired so the agent can read issues from non-collaboratorsadd-labelsconstrained to an explicit allowlist (no arbitrary label creation)Files
.github/workflows/issue-triage.md.github/workflows/issue-triage.lock.yml.gitattributes*.lock.ymlaslinguist-generatedwithmerge=oursWarning
Firewall rules blocked me from connecting to one or more addresses (expand for details)
I tried to connect to the following addresses, but was blocked by firewall rules:
https://api.github.com/repos/github/gh-aw/git/ref/tags/v0.50.4/usr/bin/gh gh api /repos/github/gh-aw/git/ref/tags/v0.50.4 --jq .object.sha(http block)If you need me to access, download, or install something from one of these locations, you can either:
💬 We'd love your input! Share your thoughts on Copilot coding agent in our 2 minute survey.